﻿
@{
    ViewBag.Title = "Discapacidades";
    Layout = "~/Views/Shared/n_Layout.cshtml";
}


<div id="listadoPersonas">
<table id="tabla">
    </table>
    <div id="barra">
    </div>
</div>
<br/><br />
<div id="divDiscapacidades" style="display: none">
<center>
<div id="listadoDiscapacidades">
<table id="tablaDiscapacidades">
    </table>
    <div id="barraDiscapacidades">
    </div>
</div>
<br/>
<div><input type="button" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" value="Guardar" id="btnGuardar" /></div>
</center>
</div>


<div id='dialog-alert' style="display: none">
</div>
<div id='dialog-confirm' style="display: none">
    ¿Está seguro que desea guardar?
</div>
<div id='dialog-delete' style="display: none">
    ¿Está seguro que desea eliminar este item?
</div>
@section HeaderContent{

}
@section ScriptContent{

}
@section JavaScript {
<script type='text/javascript'>
    var idPersona = 0;
    var accion = '';
    var listaDiscapacidades = new Array();
    
    $().ready(function () {
        ListarPersonas();
        
        $("#dialog-confirm").dialog({
            autoOpen: false,
            resizable: false,
            height: 200,
            width: 280,
            title: 'Discapacidades',
            modal: true,
            buttons: [{
                text: 'Aceptar',
                click: function () {
                    Guardar();
                }
            }, {
                text: 'Cancelar',
                click: function () {
                    $(this).dialog("close");
                }
            }]
        });

        $('#btnGuardar').bind("click", function (e) {
                $("#dialog-confirm").dialog('open');
                e.preventDefault();
            
        });
    });
    function ListarPersonas() {
        var gwdth = $(window).width() - 260;
        colNames = ['nIdePersona', 'nIdeTipoPer', 'vTipoPersona', 'nIdeTipoDocum', 'vTipoDocum', 'vNumDocum', 'nIdeCodPaisDoc', 'vPais', 'vPriNombre', 'vSegNombre',
            'vPriApellido', 'vSegApellido', 'nIdeTipoGenero', 'vTipoGenero', 'dtFecNacim', 'vEmail', 'vTelefono1', 'vTelefono2', 'dtFecReg',
            'dtFecIniVig', 'dtFecFinVig', 'nIdeUsuReg'];
        colModels = [
            { name: 'nIdePersona', index: 'nIdePersona', width: 40, align: "left", key: true, hidden: true },
            { name: 'nIdeTipoPer', index: 'nIdeTipoPer', align: 'left', width: 80, editable: false, hidden: true },
            { name: 'vTipoPersona', index: 'vTipoPersona', align: 'left', width: 80, editable: false },
            { name: 'nIdeTipoDocum', index: 'nIdeTipoDocum', align: 'left', width: 80, editable: false, hidden: true },
            { name: 'vTipoDocum', index: 'vTipoDocum', align: 'left', width: 80, editable: false },
            { name: 'vNumDocum', index: 'vNumDocum', align: 'left', width: 80, editable: false },
            { name: 'nIdeCodPaisDoc', index: 'nIdeCodPaisDoc', align: 'left', width: 80, editable: false, hidden: true },
            { name: 'vPais', index: 'vPais', align: 'left', width: 80, editable: false, search: false },
            { name: 'vPriNombre', index: 'vPriNombre', align: 'left', width: 100, editable: false },
            { name: 'vSegNombre', index: 'vSegNombre', align: 'left', width: 100, editable: false },
            { name: 'vPriApellido', index: 'vPriApellido', align: 'left', width: 100, editable: false, edittype: 'text', searchoptions: { sopt: ['cn', 'bw']} },
            { name: 'vSegApellido', index: 'vSegApellido', align: 'left', width: 100, editable: false },
            { name: 'nIdeTipoGenero', index: 'nIdeTipoGenero', align: 'left', width: 100, editable: false, hidden: true },
            { name: 'vTipoGenero', index: 'vTipoGenero', align: 'left', width: 100, editable: false, search: false },
            { name: 'dtFecNacim', index: 'dtFecNacim', align: 'left', width: 100, editable: false, hidden: true },
            { name: 'vEmail', index: 'vEmail', align: 'left', width: 100, editable: false, hidden: true },
            { name: 'vTelefono1', index: 'vTelefono1', align: 'left', width: 100, editable: false, hidden: true },
            { name: 'vTelefono2', index: 'vTelefono2', align: 'left', width: 100, editable: false, hidden: true },
            { name: 'dtFecReg', index: 'dtFecReg', align: 'left', width: 100, editable: false, search: false },
            { name: 'dtFecIniVig', index: 'dtFecIniVig', align: 'left', width: 100, editable: false, hidden: true },
            { name: 'dtFecFinVig', index: 'dtFecFinVig', align: 'left', width: 100, editable: false, hidden: true },
            { name: 'nIdeUsuReg', index: 'nIdeUsuReg', align: 'left', width: 100, editable: false, hidden: true }

        ];
        var opciones = { nuevo: false, editar: false, eliminar: false, search: false, rules: true, cambiarFila: true };

        ORI.GrillaCompleta('tabla', 'barra', 350, gwdth, 'Listado de Personas',
            '@Url.Action("Listar", "Persona")', 'id', colNames, colModels, 'nIdePersona',
            opciones,null,null,null);
        $("#tabla").filterToolbar({ searchOnEnter: true, stringResult: true, defaultSearch: "cn" });

    }
    
    function cambiarFila(rowkey) {
        idPersona = rowkey;
        $('#tablaDiscapacidades').jqGrid('GridUnload');
        $('#divDiscapacidades').show();
        CrearGrid();
        ListarDiscapacidades();
    }

    function CrearGrid() {
        $("#tablaDiscapacidades").jqGrid({
            datatype: "local",
            colNames: ['nSeqDisca', 'nIdeTipoPer', 'nIdeTipoDisca', 'vNomDetalle', 'Nombre de Discapacidad', 'Selección', 'nIdeDetalle'],
            colModel: [
                { name: 'nSeqDisca', index: 'nSeqDisca', width: 40, align: "left", hidden: true },
            { name: 'nIdePersona', index: 'nIdePersona', align: 'left', width: 80, editable: false, hidden: true },
            { name: 'nIdeTipoDisca', index: 'nIdeTipoDisca', align: 'left', key: true, width: 80, editable: false, hidden: true },
            { name: 'vNomDetalle', index: 'vNomDetalle', align: 'left', width: 220, editable: false},
            { name: 'vNomCorto', index: 'vNomCorto', align: 'left', width: 80, editable: false, hidden: true },
            { name: 'seleccionada', index: 'seleccionada', align: 'center', width: 80, editable: true, edittype: 'checkbox', editoptions: { value: "1:0" },
                formatter: "checkbox", formatoptions: { disabled: false}},
            { name: 'nIdeDetalle', index: 'nIdeDetalle', align: 'left', width: 80, editable: false,hidden:true}                
            ],
            rowNum: 100,
            rownumbers: true,
            pager: "#barraDiscapacidades",
            height: 'auto',
            width: 450,
            footerrow: false,
            viewrecords: true,
            multiselect: false,
                onSelectRow: function () {
                    var rowKey = jQuery('#tablaDiscapacidades').getGridParam('selrow');
            }
        });
        jQuery("#tablaDiscapacidades").jqGrid('navGrid', "#barraDiscapacidades", { edit: false, add: false, del: false, search: false });
        //$("#tabla").closest(".ui-jqgrid-bdiv").css({ 'overflow-y': 'scroll' });

    }
    function ListarDiscapacidades() {
        $("#tablaDiscapacidades").jqGrid("clearGridData");
        var url = '@Url.Action("ListarDiscapacidades", "Discapacidad")';
        var parametros = { idPersona: idPersona };
        var resultado = ORI.Ajax(url, parametros, false);
        if (resultado.Success) {
            $.each(resultado.Data, function (i, v) {
                var myData = { nSeqDisca: v.nSeqDisca, nIdePersona: v.nIdePersona,
                    nIdeTipoDisca: v.nIdeTipoDisca, vNomDetalle: v.vNomDetalle,
                    vNomCorto: v.vNomCorto, seleccionada: v.seleccionada, nIdeDetalle: v.nIdeDetalle
                };
                jQuery("#tablaDiscapacidades").jqGrid('addRowData', i, myData);
                listaDiscapacidades.push(myData);
            });
        } else {
            alert(resultado.Message);
        }
    }

    function Guardar() {
        $("#dialog-confirm").dialog('close');
        var entidades = new Array();
        var i = 0;
        $("#tablaDiscapacidades input[type=checkbox]").each(function () {
            var entidad = new Object();
            entidad.nSeqDisca = $('#tablaDiscapacidades').jqGrid('getCell', i, 'nSeqDisca'); //$(this).parents("tr").find("td").eq(2).html(); //
            entidad.nIdePersona = idPersona; //$('#tablaDiscapacidades').jqGrid('getCell', i, 'nIdePersona');
            entidad.nIdeTipoDisca = $('#tablaDiscapacidades').jqGrid('getCell', i, 'nIdeDetalle'); // $(this).parents("tr").find("td").eq(4).html(); // 
            entidad.vNomDetalle = $('#tablaDiscapacidades').jqGrid('getCell', i, 'vNomDetalle'); //$(this).parents("tr").find("td").eq(5).html(); //
            entidad.vNomCorto = $('#tablaDiscapacidades').jqGrid('getCell', i, 'vNomCorto'); //$(this).parents("tr").find("td").eq(6).html();
            //entidad.seleccionada = ($(this).parents("tr").find("input[type=checkbox]").is(':checked')) ? 1 : 0; //$('#tablaDiscapacidades').jqGrid('getCell', i, 'seleccionada') ? 1 : 0;
            entidad.seleccionada = $('#tablaDiscapacidades').jqGrid('getCell', i, 'seleccionada');
            entidades[i] = entidad;
            i = i + 1;
        });
        
        var parameters = { entidades: entidades };
        var url = '@Url.Action("Guardar","Discapacidad")';
        var response = ORI.Ajax(url, parameters, false);
        if (response.Success) {
            jQuery("#tablaDiscapacidades").trigger("reloadGrid");
        } else {
            ORI.ShowAlert('', "No se pudieron guardar las Discapacidades.");
        }
    }

    function Cancelar() {

        window.location = '@Url.Action("Index", "Persona")';
    }


    function GetRules(grilla) {
        var rules = new Array();
        if (grilla == "tablaDiscapacidades")
        var id = idPersona;
        rules = [{ field: 'nIdePersona', data: id, op: '='}];

        return rules;
    }
</script>
}
